Why do you insist on using a notation which is a nightmare for typist and compositor and impossible to implement with punching and printing equipment currently available?
filll – R. A. Brooker, 1963 [Iverson 63]
Since its introduction in the early sixties, APL has been known and even become famous not so much for the power and elegance of its concepts butto a much greater extentfor the ``strange'' symbols it uses. A discussion about the usefulness and difficulties of APL has remained academic for large parts of the computer science community. Many programmers never managed to get their dumb ASCII–terminals to produce the non-ASCII symbols required by the language.
With the advent of bit-mapped displays, down-loadable fonts and the spread of graphical interfaces such as the X Window System the situation has changed. Specialized hardware is no longer a prerequisite for APL programming. Although it often requires some effort of customization and configuration, it is possible nowadays to turn existing hardware into an APL environment.
Troubles show up as soon as you start publishing results produced in your APL environment. (Just have a look at some books on APL, where the APL passages had to be pasted in!) Since many text-processing and desktop-publishing systems still lack APL support, it remains difficult to achieve high printing quality in publications composed of text and APL code. Several extensions to existing text processors have been implemented (cf. [Hohti, Kanerva 88]). However, most of them support either only the symbols of one APL dialect or only one machine or operating system platform. [Hohti, Kanerva 88] already demonstrated the usefulness of TEX for APL typesetting. The authors produced a METAFONT description for APL primitive symbols and a set of TEX macros to support Digital's APL interpreter for the VAX-11 series.
In this paper we present our solution to the problem: An APL publishing system consisting of an APL front end and a
LATEX document style option. The APL front end
automatically converts APL material into LATEX code which you
can \input
into any standard LATEX document. The LATEX document style option apl.sty provides macros defining all
APL characters as combinations of standard LATEX symbols, thus
relieving us from the burden of designing new fonts and the user from
the task of incorporating them into the LATEX system.
As additional benefit, size and type style of the APL symbols can be changed by the familiar LATEX commands
(e.g. \Large
, \sf
).
Compared with the approach of Hohti and Kanerva mentioned above, our solution offers the following advantages:
There are some disadvantages, however; they are higher TEX interpretation overhead and higher TEX memory usage.